<?php

class FileUploadController {

	public function DoControll(LoginHandler $loginInstance, Database $db) {
		$navView = new NavigationView();
		$hInstance = new FileUploadHandler($db);
		$vInstance = new FileUploadView();

		$error = "";
		$ret = "";
		//Om man är inloggad, så visas uppladnings-formuläret.
		if ($loginInstance -> IsLoggedIn()) {

			if ($vInstance -> UploadButton()) {

				//Om något gick fel, läggs felmeddelande till.
				if ($hInstance -> CheckFile($vInstance -> Files()) == false) {
					$error = $vInstance -> ErrorMessage(FileUploadView::FOTO_INVALID);
				}
				if ($vInstance -> GetFileTitle() === false) {
					$error = $vInstance->ErrorMessage(FileUploadView::NO_TITLE);
				} 
				else {
					$error = $vInstance->ErrorMessage(FileUploadView::FOTO_UPLOAD);
					$hInstance -> RegisterFile($vInstance -> GetFileTitle(), $vInstance -> GetPicName(), $loginInstance->GetLoggedInUserName());
					$hInstance -> SaveFile($vInstance -> Files());
				}
			}
			
			$ret .= $error;

		}
		// Om man laddar upp så visar form för uppladdning, annars fotolistan
		if ($navView -> Upload()) {
			$ret .= $vInstance -> UploadForm();
		} 
		else{
			$ret .= $vInstance -> FileList();
		}
		return $ret;
	}

}
